A mobile application can run on a mobile device. The mobile application can be configured to communicate with a server. For example, the server can manage or otherwise be associated with a central database that stores data that is used by multiple instances of the mobile application. The mobile application can communicate with the server to receive data from the central database and to provide information to the server for storage in the central database. The mobile application can be configured to operate in an offline mode. For example, the server can provide a local database that is stored on the mobile device and used by the mobile application when the mobile device is offline.